[INFO] cloning repository https://github.com/smazurs/Athene-noctua
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/smazurs/Athene-noctua" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmazurs%2FAthene-noctua", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmazurs%2FAthene-noctua'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e70313a41d3a8a88a10a9c788cab4e5eaf814e6b
[INFO] fixing smazurs/Athene-noctua against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsmazurs%2FAthene-noctua" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/smazurs/Athene-noctua
[INFO] finished tweaking git repo https://github.com/smazurs/Athene-noctua
[INFO] tweaked toml for git repo https://github.com/smazurs/Athene-noctua written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/smazurs/Athene-noctua on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/smazurs/Athene-noctua already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816
[INFO] running `Command { std: "docker" "start" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking athene-noctua v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:276:77
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &raw mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:283:79
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &raw mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:276:77
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &raw mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:283:79
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &raw mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.18s
[INFO] [stderr] crater-edition-check: athene-noctua v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking athene-noctua v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `attackers_to` and `queen_attacks`
[INFO] [stdout]  --> src/board/position.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     attackers_to, bishop_attacks, king_attacks, knight_attacks, pawn_attacks, queen_attacks,
[INFO] [stdout]   |     ^^^^^^^^^^^^                                                              ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitboard::pop_lsb`
[INFO] [stdout]  --> src/search/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     bitboard::pop_lsb,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/uci.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::board::attacks::{self, bishop_attacks, rook_attacks, queen_attacks, knight_attacks, king_attacks, pawn_attacks};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `init_tables`
[INFO] [stdout]   --> src/uci.rs:14:44
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::movegen::{generate_legal_moves, init_tables};
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FLAG_EP`
[INFO] [stdout]    --> src/uci.rs:237:45
[INFO] [stdout]     |
[INFO] [stdout] 237 |     use crate::board::moves::{FLAG_CAPTURE, FLAG_EP, FLAG_PROMO_CAPTURE_N, FLAG_PROMO_CAPTURE_Q};
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `attackers_to` and `queen_attacks`
[INFO] [stdout]  --> src/board/position.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     attackers_to, bishop_attacks, king_attacks, knight_attacks, pawn_attacks, queen_attacks,
[INFO] [stdout]   |     ^^^^^^^^^^^^                                                              ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitboard::pop_lsb`
[INFO] [stdout]  --> src/search/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     bitboard::pop_lsb,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/uci.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::board::attacks::{self, bishop_attacks, rook_attacks, queen_attacks, knight_attacks, king_attacks, pawn_attacks};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `init_tables`
[INFO] [stdout]   --> src/uci.rs:14:44
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::movegen::{generate_legal_moves, init_tables};
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FLAG_EP`
[INFO] [stdout]    --> src/uci.rs:237:45
[INFO] [stdout]     |
[INFO] [stdout] 237 |     use crate::board::moves::{FLAG_CAPTURE, FLAG_EP, FLAG_PROMO_CAPTURE_N, FLAG_PROMO_CAPTURE_Q};
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all`
[INFO] [stdout]    --> src/movegen/mod.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     all: Bitboard,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_all`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tune.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut p = pos.clone();
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `i32` to itself
[INFO] [stdout]    --> src/eval/mod.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         mg = mg; // already counted per-rook, but each pair gives bonus once per rook = 2x; keep as is for now
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_knight_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn init_knight_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_king_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn init_king_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_pawn_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn init_pawn_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/board/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_C` is never used
[INFO] [stdout]  --> src/board/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_C: Bitboard = FILE_A << 2;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_D` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const FILE_D: Bitboard = FILE_A << 3;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_E` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FILE_E: Bitboard = FILE_A << 4;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_F` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const FILE_F: Bitboard = FILE_A << 5;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const RANK_2: Bitboard = RANK_1 << 8;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_3` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const RANK_3: Bitboard = RANK_1 << 16;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_4` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const RANK_4: Bitboard = RANK_1 << 24;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_5` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const RANK_5: Bitboard = RANK_1 << 32;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_6` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const RANK_6: Bitboard = RANK_1 << 40;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const RANK_7: Bitboard = RANK_1 << 48;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const RANK_8: Bitboard = RANK_1 << 56;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `popcount` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn popcount(bb: Bitboard) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_castle` and `is_double_push` are never used
[INFO] [stdout]   --> src/board/moves.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Move {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn is_castle(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn is_double_push(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index` is never used
[INFO] [stdout]   --> src/board/types.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Color {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn index(self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B1` is never used
[INFO] [stdout]  --> src/board/types.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const B1: Square = 1;
[INFO] [stdout]   |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B8` is never used
[INFO] [stdout]   --> src/board/types.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const B8: Square = 57;
[INFO] [stdout]    |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BETWEEN_TABLE_CELL` is never used
[INFO] [stdout]    --> src/movegen/mod.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | static BETWEEN_TABLE_CELL: OnceLock<[[Bitboard; 64]; 64]> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RAY_TABLE_CELL` is never used
[INFO] [stdout]    --> src/movegen/mod.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 | static RAY_TABLE_CELL: OnceLock<[[Bitboard; 64]; 64]> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:276:77
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &raw mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:283:79
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &raw mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/tune.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut p = pos.clone();
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Position` does not implement `Clone`, so calling `clone` on `&Position` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 27 -         let mut p = pos.clone();
[INFO] [stdout] 27 +         let mut p = pos;
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Position`, implement `Clone` for it
[INFO] [stdout]   --> src/board/position.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 + #[derive(Clone)]
[INFO] [stdout] 21 | pub struct Position {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `all`
[INFO] [stdout]    --> src/movegen/mod.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     all: Bitboard,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_all`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `athene-noctua` (bin "athene-noctua") due to 2 previous errors; 32 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tune.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut p = pos.clone();
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of variable of type `i32` to itself
[INFO] [stdout]    --> src/eval/mod.rs:512:9
[INFO] [stdout]     |
[INFO] [stdout] 512 |         mg = mg; // already counted per-rook, but each pair gives bonus once per rook = 2x; keep as is for now
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_knight_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn init_knight_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_king_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn init_king_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_pawn_attacks` is never used
[INFO] [stdout]   --> src/board/attacks.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn init_pawn_attacks() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/board/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_C` is never used
[INFO] [stdout]  --> src/board/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_C: Bitboard = FILE_A << 2;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_D` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const FILE_D: Bitboard = FILE_A << 3;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_E` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FILE_E: Bitboard = FILE_A << 4;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_F` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const FILE_F: Bitboard = FILE_A << 5;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const RANK_2: Bitboard = RANK_1 << 8;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_3` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const RANK_3: Bitboard = RANK_1 << 16;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_4` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const RANK_4: Bitboard = RANK_1 << 24;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_5` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const RANK_5: Bitboard = RANK_1 << 32;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_6` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const RANK_6: Bitboard = RANK_1 << 40;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const RANK_7: Bitboard = RANK_1 << 48;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const RANK_8: Bitboard = RANK_1 << 56;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `popcount` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn popcount(bb: Bitboard) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_castle` and `is_double_push` are never used
[INFO] [stdout]   --> src/board/moves.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Move {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn is_castle(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn is_double_push(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `index` is never used
[INFO] [stdout]   --> src/board/types.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Color {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn index(self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B1` is never used
[INFO] [stdout]  --> src/board/types.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const B1: Square = 1;
[INFO] [stdout]   |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B8` is never used
[INFO] [stdout]   --> src/board/types.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const B8: Square = 57;
[INFO] [stdout]    |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BETWEEN_TABLE_CELL` is never used
[INFO] [stdout]    --> src/movegen/mod.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | static BETWEEN_TABLE_CELL: OnceLock<[[Bitboard; 64]; 64]> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `RAY_TABLE_CELL` is never used
[INFO] [stdout]    --> src/movegen/mod.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 485 | static RAY_TABLE_CELL: OnceLock<[[Bitboard; 64]; 64]> = OnceLock::new();
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:276:77
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let off = init_magic_table(sq, mask, magic, shift, ROOK_DELTAS, &raw mut ROOK_ATTACKS);
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/board/attacks.rs:283:79
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             let off = init_magic_table(sq, mask, magic, shift, BISHOP_DELTAS, &raw mut BISHOP_ATTACKS);
[INFO] [stdout]     |                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/tune.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut p = pos.clone();
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Position` does not implement `Clone`, so calling `clone` on `&Position` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 27 -         let mut p = pos.clone();
[INFO] [stdout] 27 +         let mut p = pos;
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Position`, implement `Clone` for it
[INFO] [stdout]   --> src/board/position.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 + #[derive(Clone)]
[INFO] [stdout] 21 | pub struct Position {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `athene-noctua` (bin "athene-noctua" test) due to 2 previous errors; 32 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816", kill_on_drop: false }`
[INFO] [stdout] 74ae5a9a1fb92501d019f6a883a4e5ac4023a40c9df05e4c22c1f4f270c64816
